This application claims the benefit of U.S. Provisional Application No. 60/063,085, filed Oct. 24, 1997. The present invention relates to an apparatus for providing interactive program guide (IPG) data for television. In particular, IPG data is provided in a satellite data stream for television decoders which receive both satellite transmissions and local cable television (CATV) transmissions. The IPG data includes global data which describes programming offered by satellite and national cable channels, and network-specific data which describes programming provided by regional cable networks or local terrestrial broadcasters.
The invention has particular applicability to the provision of an IPG for events (e.g., television programs, movies, concerts, sporting events, interactive forums, and the like) available over a satellite or cable television network or off-air channels.
The availability of digital networks for the transmission of games, information services, television programming (including movies and special events), shop at home services, and the like, has vastly increased the number and variety of such services available to consumers. Systems with five hundred or more programming channels have been in operation. One challenge that has emerged in the development and design of such systems is how to keep consumers informed as to the scheduling of the many different events that are offered.
A logical solution to the problem of providing an accurate, up-to-date guide for a large number of events is to provide the guide via an electronic medium. Program guides can now be downloaded to a subscriber terminal, such as a xe2x80x9cset top boxxe2x80x9d or xe2x80x9cintegrated receiver-decoderxe2x80x9d (IRD) connected to a subscriber""s television. One stumbling block in implementing such an electronic program guide is the is amount of bandwidth required to carry the large amount of scheduling information over a communication channel.
Another obstacle is the amount of memory required to store scheduling data for a week or more within the set top box. Such random access memory (RAM) is relatively expensive. This conflicts with the requirement that a consumer set top box be a relatively inexpensive item.
Another problem is the provision of the schedule information in a timely manner. Subscribers would grow impatient if the response time for providing scheduling information in answer to a query for such information for a particular time slot takes too long. In an ideal system, a subscriber would receive an immediate answer to a request for scheduling information pertaining to a particular channel and/or time period. After obtaining scheduling information, a subscriber may desire to have further details about a particular program. Again, it would be inconvenient to wait for more than a few seconds to obtain descriptive information about a program. Ideally, the information should be provided almost instantaneously after being requested.
A further problem is that television and other programming service signals may be delivered via different communication networks or plants. For example, a user may now receive television signals via a cable television network or a via a direct satellite link to the user""s home. Integrated receiver decoders (IRDs) may include both a satellite tuner/demodulator as well as a CATV tuner/demodulator. Television signals which are transmitted by satellite can generally be received nationwide, for example, in the continental United States.
Thus, such signals are typically reserved for programming which is of interest to all or most recipients, and do not include programming which is only of interest to specific geographical regions. For example, satellite broadcasts may include network television programs and national news broadcasts, but will not include local news programs, local advertising or local interest xe2x80x9cinfomercialxe2x80x9d programming (such as video xe2x80x9chomes for salexe2x80x9d programs), or local access programming. Local access programming refers to programming time which CATV operators may be required to allot to educational, civic and other non-profit organizations.
Furthermore, programming may also be transmitted by terrestrial broadcast. Different users may receive different terrestrial broadcasts depending on factors such as topology and antenna size, for example. Thus, the number and identity of users who receive a specific terrestrial broadcast is not well defined. The concept of a terrestrial broadcast network can nevertheless be defined generally, if not exactly, in terms of the user""s location. In contrast, the number and identity of users who can receive a cable television signal is defined by the cable plant itself, e.g., the location of the cable.
Terrestrial broadcast and CATV networks provide both global interest programming, such as network television programs and national news broadcasts, as well as local interest programs. In the United States, it is estimated that a few hundred national programming sources are available to CATV systems. These sources include satellite sources which are transmitted to CATV headends, national cable channels, and affiliated source groups or network programming, e.g., the ABC and CBS networks.
Local or regional programming sources are believed to number in the thousands, but this programming is available to only a small number of CATV systems. These sources include independent local sources, and affiliates of the major national program networks. A typical CATV channel line-up consists of a number of local sources (e.g., ten to twenty), with the remainder (e.g., fifty to sixty) being a subset of the national sources. Thus, about two thirds of the CATV channels are global interest (e.g., non-network-specific) programming, and one third are local interest (e.g., network-specific) programming.
Accordingly, there is a need for a system to provide scheduling information for both global and local programming. The system should seamlessly integrate the scheduling information for programming which is provided over two or more communication networks. The system should be compatible with IRDs having both satellite and CATV tuner/demodulators. The system should allow the IRD to filter out local scheduling information which does not pertain to the network to which the IRD is associated, as well as filtering out global scheduling information for programs that do not correspond to the set of channels available to the individual IRD (as defined by its xe2x80x9cchannel mapxe2x80x9d). The system should allow the communication of scheduling information for television programming as well as other types of data, such as computer programs and games, and stock or weather data, for example.
The interactive program guide should be economical in terms of both communication bandwidth and cost. The guide should respond to user inquiries on an instantaneous or near instantaneous basis. The guide should be compatible with relatively inexpensive set top boxes, and should adapt to the amount of RAM available in a particular set top box.
The present invention provides a method and apparatus for implementing an interactive guide to events having the above and other advantages.
In accordance with the present invention, IPG data including global data which describes programming broadcast by satellite, and region-specific data which describes programming offered by local CATV networks, is provided in a satellite data stream for television decoders which receive both satellite and local cable television (CATV) transmissions. The IPG data is filtered in both hardware and firmware in the decoder to remove irrelevant data, thereby minimizing decoder cost.
A method for delivering interactive program guide (IPG) data to a plurality of decoders, wherein the IPG data provides information regarding programming services which are delivered to the decoders via at least first and second communication plants (e.g., communication networks), includes the step of assigning each of the decoders to an xe2x80x9cIPG regionxe2x80x9d, for example, using multicast addressing data which is provided to the decoders in a group-addressed transmission. Each IPG region may correspond to a CATV network and/or a geographic region, where the definition of the region is optimized for delivery efficiency and to reduce the amount of redundant data that must be carried. For CATV plants, an IPG region may correspond to one or more plants. Thus, the definition of an IPG region in accordance with the present invention is flexible and is not constrained by a physical plant or geographic area. The assignment of IPG regions can further be modified over time.
For example, in many large metropolitan regions, there are several CATV plants which are independently operated. In this case, it may be most efficient to define an IPG region to include the several CATV plants since it is probable that the CATV plants will carry common local programming that is of interest to most users in the metropolitan area. The IPG region may be defined according to a geographic area which can be as small as a county or as large as a state, or even larger, in part depending upon the way the operator wishes to deal with the various design tradeoffs involved.
In a preferred embodiment, the decoders receive non-region-specific programming services that are delivered via the first communication plant and region-specific programming services that are delivered via the second communication plant. The IPG data is delivered to the decoders via the first communication plant.
At each decoder, the IPG data is filtered (typically in a hardware circuit) according to the IPG region which is assigned to each decoder to enable each decoder to recover the corresponding region-specific IPG data while ignoring region-specific IPG data not corresponding to the decoder""s IPG region.
The decoders may receive non-region-specific programming services (e.g., network programming) that are transmitted via the second communication plant.
In a particular embodiment, the first communication plant comprises a satellite network (e.g., direct broadcast satellite, DBS) and the second communication plant comprises a cable television network. However, the second communication plant may comprise a terrestrial broadcast network or other communication network. Typically, one IPG region encompasses a plurality of CATV networks within one geographic area.
A programming service may be considered to be non-region-specific when it is targeted to be received by only a threshold portion of a total population of decoders which is less than 100% of a total decoder population. That is, it may be more efficient to target the programming service to all decoders than to specific decoder classes in the different regions when a large fraction of those regions will be recovering the programming service.
In a particular embodiment, the IPG data is broadcast via the first communication plant in data bundles, including at least one data bundle comprising non-region-specific IPG data, and at least one data bundle comprising region-specific IPG data. At each decoder, the data bundles are filtered according to the assigned IPG region to:
(a) recover at least one bundle of region-specific IPG data corresponding to the decoder""s assigned IPG region;
(b) recover at least one bundle of non-region-specific IPG data; and
(c) ignore at least one bundle of region-specific IPG data not corresponding to the decoder""s assigned IPG region.
At least one bundle of region-specific IPG data is addressed to a plurality of different IPG regions. That is, the same region-specific data can used by a number of decoder classes. This removes redundancy by avoiding the need to transmit duplicate data to different regions, thereby reducing the total amount of IPG data.
Bundle identifiers are delivered with the data bundles to allow the decoder to distinguish one bundle from another among the plurality of data bundles of a specific type and time slot that may arrive. That is, IPG data for a particular time slot may be sent in different data blocks in different bundles. The decoder then assembles the IPG data from the different blocks to provide the final on-screen display.
In a second type of filtering, at each decoder, the IPG data may be filtered according to channel map data to enable each decoder to recover IPG data corresponding to channels accessible to that decoder while ignoring IPG data corresponding to channels not accessible to that decoder. Channel map data provides a correspondence between the programming services and a channel identifier which is displayed to the user, such as a channel number, xe2x80x9csource identifierxe2x80x9d which identifies the programming service provider and/or station identifier (e.g., ABC, NBC). The channel map data may be in the form of a lookup table which associates carrier frequencies of the programming services with the corresponding identifier. For digital services, the channel map also indicates which programming service within the digital multiplex is to be associated with that channel. For example, an IRD may filter IPG data for a global programming service which is not transmitted or otherwise not available to the IRD, for example, due to operator preference or limited channel capacity in the cable network.
In particular, channel map data may be delivered to the decoders via the first communication plant to allow the decoders to recover the region-specific and non-region-specific programming services. Generally, separate channel maps can be provided for channels which are specific to a particular CATV network in an IPG region, as well as for channels which are common to each CATV network.
The channel map data may be provided to the decoders via an alternative method, such as communication via a telephone line, or during set-up of the decoder, where the user or installer is prompted to enter a channel number and station identifier for each programming service that the decoder may access.
Channel map data is typically multicast addressed to groups of decoders that share a common map. For example, all decoders residing in a particular CATV network will share the same channel map.
The CATV network-specific channel map data can be multicast addressed to specific decoders according to the decoder""s CATV network-specific class using a multicast addressing scheme, while the non-CATV-network-specific channel map data is transmitted to all decoders.
The CATV network-specific channel map data may be recovered by the corresponding decoders according to the CATV region assigned to each decoder.
When duplicate programming services or channels are delivered to a decoder via the first and second communication plants, one of the programming services or channels may be designated as a preferred source to allow the recovery and display thereof in lieu of the non-designated programming service. For example, the CATV headend may transmit a data bit which designates the CATV programs as preferred sources in the event of a conflict since local commercials are provided via the CATV network.
Corresponding communication apparatus and decoder are presented.